package com.hzya.frame.system.role.service;

import com.hzya.frame.system.role.entity.RoleEntity;
import com.hzya.frame.utils.core.service.IBaseService;
import com.hzya.frame.utils.core.tree.TreeNode;

import java.util.List;

/**
 * @description: 角色  service
 * @tableName:   system_role 
 * @entityName:  RoleEntity
 * @author: 	 gjh
 * @history:	 1.0
 */
public interface IRoleService extends IBaseService<RoleEntity,Long> {
    /**
     * 获得角色模块树形结构
     *
     * @param roleEntity
     * @return
     * @throws Exception
     */
    public List<TreeNode> getRoleModuleTree(RoleEntity roleEntity) throws Exception;

    /**
     * 获得已经勾选的模块
     *
     * @param roleEntity
     * @return
     * @throws Exception
     */
    public List<TreeNode> getRoleModuleTreeForShow(RoleEntity roleEntity) throws Exception;

    /**
     * 获取当前登陆人所在公司的所有角色
     * @return
     */
    public List<RoleEntity> listGetCompanyRoles();
}